:Base wd_hlp.hlp 1 COPYRIGHT 2 COPYRIGHT=topic0 1 WinDriver Overview 2 WinDriver Overview =topic1 2 Introduction to WinDriver =topic2 2 Background=topic3 2 WinDriver Advantages=topic4 2 WinDriver Feature List=topic5 2 WinDriver Architecture=topic6 2 What Platforms does WinDriver Support?=topic8 2 Can I Try WinDriver Before I Buy?=topic9 2 Limitations of the different evaluation versions=topic10 2 How do I develop my Driver with WinDriver? (Overview) 3 How do I develop my Driver with WinDriver? (Overview)=topic11 3 On Windows 95, 98, ME, NT and 2000=topic12 3 On Windows CE=topic13 3 On Linux and Solaris=topic14 3 On Embedded Operating Systems=topic15 2 What Does the WinDriver Toolkit Include? 3 What Does the WinDriver Toolkit Include?=topic16 3 WinDriver Modules=topic17 3 Utilities=topic18 3 WinDriver's SPECIFIC CHIP-SET SUPPORT=topic19 3 Samples=topic20 2 Can I distribute the driver created with WinDriver? 3 Can I distribute the driver created with WinDriver?=topic21 2 Device Driver Overview 3 Device Driver Overview=topic22 3 Monolithic Drivers=topic23 3 Windows 95/98/ME Drivers=topic25 3 NT Driver Model 4 NT Driver Model=topic26 4 Layered Drivers=topic27 4 Miniport Drivers=topic29 3 Unix Device Drivers 4 Unix Device Drivers=topic31 3 Linux Device Drivers 4 Linux Device Drivers=topic32 3 Solaris Device Drivers 4 Solaris Device Drivers=topic33 2 Matching the right tool for your driver 3 Matching the right tool for your driver=topic34 1 WinDriver USB Overview 2 WinDriver USB Overview =topic35 2 Introduction to USB=topic36 2 Feature List=topic37 2 USB Components=topic38 2 Data Flow in USB Devices=topic39 2 USB Data Exchange=topic41 2 USB Data Transfer Types=topic43 2 USB Configuration=topic44 2 WinDriver USB=topic45 2 WinDriver USB Architecture=topic46 2 What drivers can I write with WinDriver USB?=topic48 1 Installation and Setup 2 Installation and Setup=topic49 2 Systems Requirements 3 Systems Requirements=topic50 3 For Windows 95 / 98 / ME=topic51 3 For Windows NT/2000=topic52 3 For Windows CE=topic53 3 For Linux=topic54 3 For Solaris=topic55 3 For VxWorks=topic56 2 Installing WinDriver 3 Installing WinDriver =topic57 3 Installing WinDriver for Windows 95,98,ME,NT and 2000 =topic58 3 Installing WinDriver CE 4 Installing WinDriver CE=topic59 4 Installing WinDriver CE for a hand held PC=topic60 4 Using WinDriver CE with ETK/Platform Builder=topic61 3 Testing Your Applications on the X86 HPC Emulator 4 Testing Your Applications on the X86 HPC Emulator=topic62 4 Emulation on Windows NT=topic63 3 Installing WinDriver for Linux 4 Installing WinDriver for Linux=topic64 4 Restricting hardware access on Linux=topic65 3 Installing DriverWizard on your Windows machine 4 Installing DriverWizard on your Windows machine=topic66 3 Installing WinDriver for Solaris 4 Installing WinDriver for Solaris=topic67 4 Restricting hardware access on Solaris=topic68 4 Solaris Platform Specific Issues=topic69 3 Installing DriverBuilder for VxWorks 4 Installing DriverBuilder for VxWorks=topic70 2 Upgrading Your Installation 3 Upgrading Your Installation=topic71 2 Checking Your Installation 3 Checking Your Installation=topic72 3 On your Windows machine=topic73 3 On your Windows CE machine =topic74 3 On your Linux machine=topic75 3 On your Solaris machine=topic76 3 On VxWorks=topic77 2 Uninstalling WinDriver 3 Uninstalling WinDriver=topic78 3 Uninstalling Windriver from Windows (95/98/ME/NT/2000)=topic79 3 Uninstalling Windriver from Linux=topic80 3 Uninstalling WinDriver from Solaris=topic81 3 Uninstalling DriverBuilder for Vxworks=topic82 1 The DriverWizard 2 The DriverWizard =topic83 2 An Overview=topic84 2 DriverWizard Walkthrough=topic85 2 DriverWizard Notes 3 DriverWizard Notes=topic93 3 Sharing a Resource=topic94 3 Disabling a Resource=topic95 3 DriverWizard Logger=topic96 3 Automatic Code Generation=topic97 2 Remote WinDriver 3 Remote WinDriver =topic98 3 How does it work?=topic99 3 Using Remote WinDriver (For all Windows OSes)=topic100 3 Using Remote WinDriver (For Windows CE)=topic102 3 Using Remote WinDriver (For Linux and Solaris)=topic104 3 Using Remote WinDriver (For VxWorks)=topic106 1 Creating Your Driver 2 Creating Your Driver =topic107 2 Using the DriverWizard to Build a Device Driver =topic108 2 Writing the Device Driver without the DriverWizard =topic109 2 Win CE - Testing on CE=topic110 2 Using the Help Files=topic111 1 Debugging 2 Debugging=topic112 2 User Mode Debugging=topic113 2 DebugMonitor 3 DebugMonitor=topic114 3 Using DebugMonitor 4 Using DebugMonitor=topic115 4 DebugMonitor Graphical Mode=topic116 4 DebugMonitor - Console Mode=topic119 4 DebugMonitor on Linux and Solaris=topic120 4 DebugMonitor on Windows CE=topic121 4 DebugMonitor on VxWorks=topic122 1 WinDriver Function Reference 2 WinDriver Function Reference =topic123 2 WD_Open()=topic124 2 WD_Close()=topic125 2 WD_Version()=topic126 2 WD_PciScanCards()=topic127 2 WD_PciGetCardInfo()=topic128 2 WD_PciConfigDump()=topic129 2 WD_PcmciaScanCards()=topic130 2 WD_PcmciaGetCardInfo()=topic131 2 WD_PcmciaConfigDump()=topic132 2 WD_IsapnpScanCards() =topic133 2 WD_IsapnpGetCardInfo()=topic134 2 WD_IsapnpConfigDump()=topic135 2 WD_CardRegister()=topic136 2 WD_CardUnregister()=topic137 2 WD_Transfer()=topic138 2 WD_MultiTransfer()=topic139 2 WD_IntEnable() =topic140 2 WD_IntDisable()=topic141 2 WD_IntWait()=topic142 2 WD_IntCount()=topic143 2 WD_DMALock()=topic144 2 WD_DMAUnlock()=topic145 2 WD_Sleep()=topic146 2 WD_UsbScanDevice()=topic147 2 WD_UsbGetConfiguration()=topic148 2 WD_UsbDeviceRegister()=topic149 2 WD_UsbDeviceUnregister()=topic150 2 WD_UsbTransfer()=topic151 2 WD_UsbResetPipe()=topic152 2 InterruptThreadEnable()=topic153 2 InterruptThreadDisable()=topic154 1 WinDriver Structure Reference 2 WinDriver Structure Reference =topic155 2 WD_TRANSFER =topic156 2 WD_DMA=topic157 2 WD_DMA_PAGE =topic158 2 WD_INTERRUPT=topic159 2 WD_VERSION=topic160 2 WD_CARD_REGISTER =topic161 2 WD_CARD=topic162 2 WD_ITEMS=topic163 2 WD_SLEEP =topic164 2 WD_PCI_SLOT =topic165 2 WD_PCI_ID =topic166 2 WD_PCI_SCAN_CARDS =topic167 2 WD_PCI_CARD_INFO =topic168 2 WD_PCI_CONFIG_DUMP=topic169 2 WD_ISAPNP_CARD_ID =topic170 2 WD_ISAPNP_CARD =topic171 2 WD_ISAPNP_SCAN_CARDS =topic172 2 WD_ISAPNP_CARD_INFO =topic173 2 WD_ISAPNP_CONFIG_DUMP=topic174 2 WD_PCMCIA_SLOT=topic175 2 WD_PCMCIA_ID =topic176 2 WD_PCMCIA_SCAN_CARDS =topic177 2 WD_PCMCIA_CARD_INFO =topic178 2 WD_ PCMCIA_CONFIG_DUMP =topic179 2 WD_USB_ID=topic180 2 WD_USB_PIPE_INFO=topic181 2 WD_USB_CONFIG_DESC=topic182 2 WD_USB_INTERFACE_DESC=topic183 2 WD_USB_ENDPOINT_DESC=topic184 2 WD_USB_INTERFACE=topic185 2 WD_USB_CONFIGURATION=topic186 2 WD_USB_HUB_GENERAL_INFO=topic187 2 WD_USB_DEVICE_GENERAL_INFO=topic188 2 WD_USB_DEVICE_INFO=topic189 2 WD_USB_SCAN_DEVICES=topic190 2 WD_USB_TRANSFER=topic191 2 WD_USB_DEVICE_REGISTER=topic192 2 WD_USB_RESET_PIPE=topic193 1 Creating Your Driver Using Jungo's PLX9050 API 2 Creating Your Driver Using Jungo's PLX9050 API =topic194 2 Overview of the Development Process for the PLX9050 Using WinDriver's PLX9050 API =topic195 2 What is the PLX9050 Diagnostics? =topic196 2 Using PLX9050 Diagnostics 3 Using PLX9050 Diagnostics =topic197 3 Introduction =topic198 3 Main Menu Options=topic199 2 Creating the driver project without using the P50_DIAG as the skeletal driver code 3 Creating the driver project without using the P50_DIAG as the skeletal driver code=topic200 3 Sample =topic201 2 WinDriver's PLX9050 API Function Reference 3 WinDriver's PLX9050 API Function Reference =topic202 3 P9050_CountCards() =topic203 3 P9050_Open() =topic204 3 P9050_Close() =topic205 3 P9050_IsAddrSpaceActive() =topic206 3 P9050_ReadReg(), P9050_WriteReg() =topic207 3 P9050_ReadSpaceByte(), P9050_ReadSpaceWord(), P9050_ReadSpaceDWord()=topic208 3 P9050_WriteSpaceByte(), P9050_WriteSpaceWord(), P9050_WriteSpaceDWord()=topic209 3 P9050_ReadSpaceBlock(), P9050_WriteSpaceBlock()=topic210 3 P9050_ReadByte(),P9050_ReadWord()P9050_ReadDWord() =topic211 3 P9050_WriteByte(),P9050_WriteWord(),P9050_WriteDWord() =topic212 3 P9050_ReadBlock(),P9050_WriteBlock()=topic213 3 P9050_IntIsEnabled() =topic214 3 P9050_IntEnable() =topic215 3 P9050_IntDisable() =topic216 3 P9050_EEPROMReadWord(), P9050_EEPROMWriteWord() =topic217 3 P9050_ReadPCIReg(),P9050_WritePCIReg() =topic218 2 PLX 9050 API Structure Reference 3 PLX 9050 API Structure Reference =topic219 3 PLX Register Definitions =topic220 3 P9050_MODE =topic221 3 P9050_ADDR =topic222 3 P9050_INT_RESULT =topic223 2 Trouble-Shooting 3 Trouble-Shooting =topic224 3 P9050_Open() fails =topic225 1 Creating Your Device Driver Using Jungo's PLX9060 / PLX9080 API 2 Creating Your Device Driver Using Jungo's PLX9060 / PLX9080 API =topic226 2 Overview of the Development Process for the PLX9060 / PLX9080 Using WinDriver's PLX9060 API =topic227 2 What is PLX9060 Diagnostics? =topic228 2 Using PLX9060 Diagnostics 3 Using PLX9060 Diagnostics =topic229 3 Introduction =topic230 3 Main Menu Options =topic231 2 Creating the Driver Project without using the P60_DIAG as the Skeletal Driver Code 3 Creating the Driver Project without using the P60_DIAG as the Skeletal Driver Code =topic232 3 Sample Code =topic233 2 WinDriver's PLX 9060/9080 API Function Reference 3 WinDriver's PLX 9060/9080 API Function Reference =topic234 3 P9060_CountCards() =topic235 3 P9060_Open() =topic236 3 P9060_Close() =topic237 3 P9060_IsAddrSpaceActive() =topic238 3 P9060_ReadReg(), P9060_WriteReg() =topic239 3 P9060_ReadSpaceByte() ,P9060_ReadSpaceWord() , P9060_ReadSpaceDWord() =topic240 3 P9060_WriteSpaceByte(),P9060_WriteSpaceWord(), P9060_WriteSpaceDWord() =topic241 3 P9060_ReadSpaceBlock() ,P9060_WriteSpaceBlock() =topic242 3 P9060_ReadByte(),P9060_ReadWord(),P9060_ReadDWord() =topic243 3 P9060_WriteByte(), P9060_WriteWord(), P9060_WriteDWord() =topic244 3 P9060_ReadBlock(),P9060_WriteBlock()=topic245 3 P9060_IntIsEnabled() =topic246 3 P9060_IntEnable() =topic247 3 P9060_IntDisable() =topic248 3 P9060_ReadPCIReg(),P9060_WritePCIReg() =topic249 2 PLX 9060 API Structure Reference 3 PLX 9060 API Structure Reference =topic250 3 PLX Register Definitions =topic251 3 P9060_MODE =topic252 3 P9060_INT_RESULT =topic253 2 Trouble-Shooting 3 Trouble-Shooting =topic254 3 P9060_Open() fails. =topic255 1 Creating Your Device Driver Using Jungo's AMCC S5933 API 2 Creating Your Device Driver Using Jungo's AMCC S5933 API =topic256 2 Overview of the Development Process for the AMCC S5933 Using WinDriver's AMCC API =topic257 2 What is AMCC Diagnostics? =topic258 2 Using the AMCC Diagnostics 3 Using the AMCC Diagnostics =topic259 3 Introduction =topic260 3 Main Menu Options =topic261 2 Creating the Driver Project without using the AMCCDIAG as the Skeletal Driver Code 3 Creating the Driver Project without using the AMCCDIAG as the Skeletal Driver Code =topic262 2 Sample Code 3 Sample Code=topic263 2 WinDriver's AMCC S5933 API Function Reference 3 WinDriver's AMCC S5933 API Function Reference =topic264 3 AMCC_CountCards() =topic265 3 AMCC_Open() =topic266 3 AMCC_Close() =topic267 3 AMCC_IsAddrSpaceActive() =topic268 3 AMCC_ReadRegByte(),AMCC_ReadRegWord(), AMCC_ReadRegDWord() =topic269 3 AMCC_WriteRegByte(),AMCC_WriteRegWord(), AMCC_WriteRegDWord() =topic270 3 AMCC_ReadByte(), AMCC_ReadWord(), AMCC_ReadDWord() =topic271 3 AMCC_WriteByte(),AMCC_WriteWord(),AMCC_WriteDWord() =topic272 3 AMCC_ReadSpaceBlock(), AMCC_WriteSpaceBlock() =topic273 3 AMCC_IntIsEnabled() =topic274 3 AMCC_IntEnable() =topic275 3 AMCC_IntDisable() =topic276 3 AMCC_ReadPCIReg(), AMCC_WritePCIReg() =topic277 2 AMCC S5933 API Structure Reference 3 AMCC S5933 API Structure Reference =topic278 3 PCI Configuration Registers Definitions =topic279 3 AMCC_ADDR =topic280 3 AMCC_INT_RESULT =topic281 2 Trouble-Shooting 3 Trouble-Shooting =topic282 3 AMCC_Open() fails. =topic283 1 Creating Your Driver Using Jungo's V3 PBC API 2 Creating Your Driver Using Jungo's V3 PBC API=topic284 2 Overview of the Development Process for the V3 PBC using WinDriver's V3 PBC API =topic285 2 What is V3 PBC Diagnostics? =topic286 2 Using the V3 PBC Diagnostics 3 Using the V3 PBC Diagnostics =topic287 3 Introduction =topic288 3 Main Menu Options =topic289 2 Creating the Driver Project without using the PBC_DIAG as the Skeletal Driver Code 3 Creating the Driver Project without using the PBC_DIAG as the Skeletal Driver Code =topic290 2 Sample Code 3 Sample Code =topic291 2 WinDriver's V3 PBC API Function Reference 3 WinDriver's V3 PBC API Function Reference =topic292 3 V3PBC_CountCards() =topic293 3 V3PBC_Open() =topic294 3 V3PBC_Close() =topic295 3 V3PBC_IsAddrSpaceActive() =topic296 3 V3PBC_GetRevision() =topic297 3 V3PBC_ReadRegByte(), V3PBC_ReadRegWord(), V3PBC_ReadRegDWord() =topic298 3 V3PBC_WriteRegByte(), V3PBC_WriteRegWord(), V3PBC_WriteRegDWord() =topic299 3 V3PBC_ReadSpaceByte(), V3PBC_WriteSpaceByte(), V3PBC_ReadSpaceWord(), V3PBC_WriteSpaceWord(), V3PBC_ReadSpaceDWord(), V3PBC_WriteSpaceDWord() =topic300 3 V3PBC_ReadSpaceBlock(), V3PBC_WriteSpaceBlock() =topic301 3 V3PBC_ReadBlock(), V3PBC_WriteBlock() =topic302 3 V3PBC_ReadByte(), V3PBC_ReadByte(), V3PBC_WriteByte(), V3PBC_ReadWord(), V3PBC_WriteWord(), V3PBC_ReadDWord(), V3PBC_WriteDWord() =topic303 3 V3PBC_IntIsEnabled() =topic304 3 V3PBC_IntEnable() =topic305 3 V3PBC_IntDisable() =topic306 3 V3PBC_ReadPCIReg(), V3PBC_WritePCIReg() =topic307 3 V3PBC_DMAOpen() =topic308 3 V3PBC_DMAClose() =topic309 3 V3PBC_DMAStart() =topic310 3 V3PBC_DMAIsDone() =topic311 3 V3PBC_PulseLocalReset() =topic312 3 V3PBC_EEPROMInit() =topic313 3 V3PBC_EEPROMWrite() =topic314 3 V3PBC_EEPROMRead() =topic315 2 PCI Configuration Registers Definitions 3 PCI Configuration Registers Definitions =topic316 3 V3PBC_ADDR =topic317 3 V3PBC_INT_RESULT =topic318 2 Trouble-Shooting 3 Trouble-Shooting =topic319 3 V3PBC_Open() fails=topic320 1 WinDriver Implementation Issues 2 WinDriver Implementation Issues =topic321 2 Performing DMA 3 Performing DMA=topic322 3 Scatter/Gather DMA 4 Scatter/Gather DMA=topic323 4 Scatter/Gather DMA for buffers larger than 1MB=topic324 3 Contiguous Buffer DMA 4 Contiguous Buffer DMA=topic325 2 Handling Interrupts 3 Handling Interrupts =topic326 3 General - Handling an Interrupt=topic327 3 Simplified interrupt handling using {indrvr_int_thread.h}=topic328 3 ISA / EISA and PCI interrupts=topic329 3 Interrupts in Windows CE=topic330 3 PCMCIA interrupts in Windows CE=topic331 2 USB Control Transfers 3 USB Control Transfers=topic332 3 USB Data Exchange=topic333 3 More about the Control Transfer=topic335 3 The Setup Packet=topic337 3 USB Setup Packet Format=topic338 3 Standard device requests codes=topic339 3 Setup Packet example=topic340 2 Performing Control Transfers with WinDriver 3 Performing Control Transfers with WinDriver=topic341 3 Control Transfers with DriverWizard=topic342 3 Control Transfers with WinDriver API=topic343 1 Improving Performance 2 Improving Performance =topic344 2 Improving performance of your device driver - Overview=topic345 2 Performance improvement checklist=topic346 2 Improving the performance of your User Mode driver 3 Improving the performance of your User Mode driver=topic347 3 Using direct access to memory mapped regions=topic348 3 Accessing IO mapped regions=topic349 1 Kernel PlugIn 2 Kernel PlugIn =topic350 2 Background=topic351 2 Do I need to write a Kernel PlugIn?=topic352 2 What kind of Performance can I expect=topic353 2 Overview of the development process=topic354 1 WinDriver Kernel PlugIn Architecture 2 WinDriver Kernel PlugIn Architecture=topic355 2 Introduction=topic356 2 WinDriver Kernel and Kernel Plugin Interaction=topic358 2 Kernel Plugin Components=topic359 2 Kernel PlugIn Event Sequence=topic360 1 Kernel PlugIn - How it works 2 Kernel PlugIn - How it works=topic361 2 Minimal Requirements for creating a Kernel PlugIn =topic362 2 Directory structure and sample for the WinDriver Kernel PlugIn=topic363 2 Kernel PlugIn implementation 3 Kernel PlugIn implementation =topic364 3 Before you begin=topic365 3 Write your KP_INIT() function=topic366 3 Write your KP_OPEN() function=topic367 3 Write the remaining PlugIn call-backs=topic368 2 KPTest -- A sample Kernel PlugIn Driver 3 KPTest -- A sample Kernel PlugIn Driver=topic369 2 Handling Interrupts in the Kernel PlugIn 3 Handling Interrupts in the Kernel PlugIn=topic370 3 Interrupt handling in user mode (without Kernel PlugIn) =topic371 3 Interrupt handling in the Kernel (with the Kernel PlugIn) =topic373 2 Message passing 3 Message passing =topic375 1 Writing a Kernel PlugIn 2 Writing a Kernel PlugIn =topic376 2 Determining whether a Kernel PlugIn is needed =topic377 2 Preparing the User Mode source code=topic378 2 Creating a new Kernel PlugIn Project=topic379 2 Creating a handle to the WinDriver Kernel PlugIn=topic380 2 Interrupt Handling in the Kernel PlugIn =topic381 2 I/O handling in the Kernel PlugIn=topic382 2 Compiling your Kernel PlugIn Driver=topic383 2 Installing your Kernel PlugIn Driver=topic384 1 Kernel PlugIn Function reference 2 Kernel PlugIn Function reference =topic385 2 User Mode functions 3 User Mode functions =topic386 3 WD_KernelPlugInOpen() =topic387 3 WD_KernelPlugInClose() =topic388 3 WD_KernelPlugInCall() =topic389 3 WD_IntEnable() =topic390 2 Kernel functions 3 Kernel functions =topic391 3 KP_Init() =topic392 3 KP_Open() =topic393 3 KP_Close() =topic394 3 KP_Call() =topic395 3 KP_IntEnable() =topic396 3 KP_IntDisable() =topic397 3 KP_IntAtIrql()=topic398 3 KP_IntAtDpc() =topic399 1 Kernel PlugIn structure reference 2 Kernel PlugIn structure reference =topic400 2 User Mode structures 3 User Mode structures =topic401 3 WD_KERNEL_PLUGIN =topic402 3 WD_INTERRUPT =topic403 3 WD_KERNEL_PLUGIN_CALL =topic404 2 Kernel Mode structures 3 Kernel Mode structures =topic405 3 KP_INIT =topic406 3 KP_OPEN_CALL =topic407 1 Developing in Visual Basic and Delphi 2 Developing in Visual Basic and Delphi=topic408 1 Trouble-Shooting 2 Trouble-Shooting =topic409 2 WD_Open() (or xxx_Open()) fails.=topic410 2 WD_CardRegister() fails=topic411 2 Can't open USB device using the DriverWizard=topic412 2 Can't get interfaces for USB devices.=topic413 2 PCI Card has no resources when using the DriverWizard=topic414 2 Computer hangs on interrupt =topic415 1 Dynamically loading your driver 2 Dynamically loading your driver =topic416 2 Windows NT/2000 and 95/98/ME 3 Windows NT/2000 and 95/98/ME=topic417 3 Dynamic loading - background=topic418 3 Why do you need a dynamically loadable driver?=topic419 3 Dynamically loading and unloading your driver=topic420 3 Dynamically loading your Kernel PlugIn=topic421 2 Linux 3 Linux=topic422 2 Solaris 3 Solaris=topic423 1 Distributing your Driver 2 Distributing your Driver =topic424 2 Get a valid license for your WinDriver=topic425 2 Windows 95/98/ME and NT/2000=topic426 2 Creating a .INF file 3 Creating a .INF file =topic427 3 Why should I create an INF file?=topic428 3 How do I install an INF file when no driver exists?=topic429 3 How do I replace an existing driver using the INF file? 4 How do I replace an existing driver using the INF file?=topic430 4 Windows 2000=topic431 4 Windows 95/98/ME=topic432 2 Windows CE 3 Windows CE=topic433 2 Linux 3 Linux=topic434 3 WinDriver Kernel Module=topic435 3 Your User Mode Driver=topic436 3 Kernel Plugin Modules=topic437 3 Installation script=topic438 2 Solaris 3 Solaris=topic439 3 Installation script=topic440 2 VxWorks 3 VxWorks=topic441 1 PC-Based Development Platform Parallel Port Cable Info 2 PC-Based Development Platform Parallel Port Cable Info =topic442 1 Limitations on demo versions 2 Limitations on demo versions=topic443 1 Version history list 2 Version history list=topic444 1 Purchasing WinDriver 2 Purchasing WinDriver=topic445 1 Distributing your driver - legal issues 2 Distributing your driver - legal issues=topic446